﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using CapaEntidades;

namespace CapaDatos
{
    public class daAlmacenCliente
    {
        public static List<enAlmacenCliente> spAlmacenClienteXNic(String prmNic)
        {
            SqlConnection cn = null;
            SqlCommand cmd = null;
            SqlDataReader dr = null;
            List<enAlmacenCliente> lstAlmCliente= null;
            try
            {

                cn = Conexion.getConexion();
                cmd = new SqlCommand("spAlmacenClienteXNic", cn);
                cmd.Parameters.AddWithValue("@cli_nic", prmNic);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                dr = cmd.ExecuteReader();
                lstAlmCliente = new List<enAlmacenCliente>();
                while (dr.Read())
                {
                    enAlmacenCliente almCiente = new enAlmacenCliente();
                    almCiente.almCli_id = Convert.ToInt32(dr[0].ToString());
                        enCliente cliente = new enCliente();
                        cliente.cli_id = Convert.ToInt32(dr[1].ToString());
                        cliente.cli_razonSocial = dr[2].ToString();
                        cliente.cli_rucdni = dr[3].ToString();
                     almCiente.cliente = cliente;
                    almCiente.almCli_direccion = dr[4].ToString();
                    lstAlmCliente.Add(almCiente);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                dr.Close();
                cn.Close();
            }
            return lstAlmCliente;

        }

        public static List<enAlmacenCliente> spListaAlmacenXCliente(int id)
        {
            SqlConnection cn = null;
            SqlCommand cmd = null;
            SqlDataReader dr = null;
            List<enAlmacenCliente> lstAlmCliente = null;
            try
            {

                cn = Conexion.getConexion();
                cmd = new SqlCommand("spListaAlmacenXCliente", cn);
                cmd.Parameters.AddWithValue("@cliente_id", id);
                cmd.CommandType = CommandType.StoredProcedure;
                cn.Open();
                dr = cmd.ExecuteReader();
                lstAlmCliente = new List<enAlmacenCliente>();
                while (dr.Read())
                {
                    enAlmacenCliente almCiente = new enAlmacenCliente();
                    almCiente.almCli_id = Convert.ToInt32(dr["almCli_id"].ToString());
                    almCiente.almCli_direccion = dr["almCLi_direccion"].ToString();
                    almCiente.almCli_estado = Convert.ToInt32(dr["almCli_estado"].ToString());
                    enCliente cliente = new enCliente();
                    cliente.cli_id = Convert.ToInt32(dr["cliente_id"].ToString());
                    almCiente.gen_estado = dr["gen_descripcion"].ToString();
                    almCiente.cliente = cliente;
                    lstAlmCliente.Add(almCiente);
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                dr.Close();
                cn.Close();
            }
            return lstAlmCliente;

        }
        
    }
}
